//
//  OMTBaseProtocol.h
//  OMTUIKit
//
//  Created by 昭荣伊 on 2018/7/30.
//

#ifndef OMTBaseProtocol_h
#define OMTBaseProtocol_h

#pragma mark - 隐藏键盘协议

@protocol OMTAutoHideKeyboardable <NSObject>

@optional
/**
 点击空白处自动关闭键盘
 
 @return YES 关闭 NO 不关闭 默认为YES
 */
- (BOOL)whenTapEmptyHideKeyboard;


/**
 视图消失自动关闭键盘
 
 @return YES 关闭 NO 不关闭 默认为YES
 */
- (BOOL)whenViewWillDisappearHideKeyboard;

/**
 滚动tableView自动关闭键盘
 
 @return YES 关闭 NO 不关闭 默认为YES
 */
- (BOOL)whenScrollTableViewHideKeyboard;

@end

#pragma mark -刷新协议
/**
 实现此接口方法，自动显示刷新与加载更多控件
 */
@protocol OMTRefreshable <NSObject>

@optional
/**
 刷新，实现此方法会展示下拉刷新控件
 */
- (void)refresh;


/**
 加载更多，实现此方法会展示加载更多控件
 */
- (void)fetchMore;

@end

@protocol OMTReactiveView <NSObject>
@optional
/**
 给 View 绑定 ViewModel
 
 @param viewModel viewModel
 */
- (void)bindViewModel:(id)viewModel;

@end

#endif /* OMTBaseProtocol_h */
